﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gco;

namespace Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gmd
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.isotc211.org/2005/gmd")]
    [System.Xml.Serialization.XmlRootAttribute("CI_Citation", Namespace = "http://www.isotc211.org/2005/gmd", IsNullable = false)]
    public class CI_Citation_Type : AbstractObject_Type
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("title")]
        public CharacterString_PropertyType Title { get; set; }

        private System.Collections.ObjectModel.Collection<CharacterString_PropertyType> _alternateTitle = new System.Collections.ObjectModel.Collection<CharacterString_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("alternateTitle")]
        public System.Collections.ObjectModel.Collection<CharacterString_PropertyType> AlternateTitle { get { return this._alternateTitle; } }

        private System.Collections.ObjectModel.Collection<CI_Date_PropertyType> _date = new System.Collections.ObjectModel.Collection<CI_Date_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("date")]
        public System.Collections.ObjectModel.Collection<CI_Date_PropertyType> Date { get { return this._date; } }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("edition")]
        public CharacterString_PropertyType Edition { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("editionDate")]
        public Date_PropertyType EditionDate { get; set; }

        private System.Collections.ObjectModel.Collection<MD_Identifier_PropertyType> _identifier = new System.Collections.ObjectModel.Collection<MD_Identifier_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("identifier")]
        public System.Collections.ObjectModel.Collection<MD_Identifier_PropertyType> Identifier { get { return this._identifier; } }

        private System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType> _citedResponsibleParty = new System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("citedResponsibleParty")]
        public System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType> CitedResponsibleParty { get { return this._citedResponsibleParty; } }

        private System.Collections.ObjectModel.Collection<CI_PresentationFormCode_PropertyType> _presentationForm = new System.Collections.ObjectModel.Collection<CI_PresentationFormCode_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("presentationForm")]
        public System.Collections.ObjectModel.Collection<CI_PresentationFormCode_PropertyType> PresentationForm { get { return this._presentationForm; } }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("series")]
        public CI_Series_PropertyType Series { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("otherCitationDetails")]
        public CharacterString_PropertyType OtherCitationDetails { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("collectiveTitle")]
        public CharacterString_PropertyType CollectiveTitle { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ISBN")]
        public CharacterString_PropertyType ISBN { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ISSN")]
        public CharacterString_PropertyType ISSN { get; set; }
    }
}
